Unlike general-purpose computer systems, such as personal computers, special purpose computer systems are designed and used for specific applications. Special purpose computer systems can range from portable devices such as digital watches, MP3 players and cell phones, to stationary installations like traffic lights, factory controllers, building controllers such as HVAC controllers, security system controllers, and other types of application specific controllers or systems. Personal digital assistants (PDAs) or handheld computers are generally considered special purpose computer systems, even though they are more expandable in software terms. In some cases, special purpose computer systems may be completely encapsulated by or dedicated to the device or system that it controls.
Under some circumstances, special purpose computer systems, just like general purpose computer systems, may fault, which, in some cases, may lead to a failure of the operating system. Generally, in order to recover from such a fault, the computing system must be restarted to re-initialize the entire set of software and operating parameters in order to return to normal operation. For general purpose computer systems, this is often accomplished by human intervention, for example, by pressing a reset switch or cycling power to the computing system. However, special purpose computer systems are often not easily accessible for human intervention, or it is inconvenient to reset such systems.
In order to recover from a fault, many special purpose computer systems incorporate a mechanism for automatically recovering and restarting the computing system. Typically, a microprocessor supervision timer circuit, or a watchdog timer, is provided to monitor the microprocessor and provide for the automatic recovery. A typical watchdog timer is, in essence, a modified timer that has an input that is toggled by the microprocessor during normal operation to continually reset the timer. In many cases, the watchdog timer also includes an output so that if the timer times out (e.g. the timer value increments above a threshold value before being reset), usually because of a computing system fault, the watchdog timer can reset the microprocessor to re-initialize the operating system.
Many special purpose computer systems include a commercial off-the-shelf (COTS) operating system. However, COTS operating systems are generally provided in a non-modifiable binary format, which preclude the addition of watchdog timer software during the startup sequence. Additionally, COTS operating systems typically have relatively long startup times. These and other characteristics of many COTS, especially in combination with special purpose computer systems, has made it difficult to adequately monitor the microprocessor for faults that occur during operating system startup, and after the operating system is up and running during normal operation.
Therefore, it would be desirable to have microprocessor supervision for special purpose computer systems that could monitor the microprocessor during the often relatively long operating system launch sequence, as well as during normal operation.